package cn.com.org.cinterface;

import java.util.List;
import java.util.UUID;



public interface IServiceBase {

	public <T> Boolean addObject(T obj);
	public <T> boolean isExists(String key,Object value,String key2,Object value2,Class<T> t);
	public  <T> Integer deleteObjectById(UUID id,Class<T> t);
	public <T> Integer deleteObject(String key,Object value, Class<T> t);
	public <T> Integer  updateObjectById(UUID id,String json,Class<T> t,String... exclude);
	public <T> Integer updateOneObject(String key,Object value,String updatekey,Object updatevalue,Class<T> t);
	public <T> Integer updateObject(String key,Object value,String updatekey,Object updatevalue,Class<T> t);
	public <T> Integer updateObject(String conjson,String updateresult,Class<T> t,String... exclude);
	public  <T> T getObject(String key,Object value,Class<T> t);
	public <T> T getById(Object id,Class<T> t);
	public  <T> List<T> getObjectList(String key,Object value,Class<T> t);
	public  <T> List<T> getObjectList(String jsonquery,Integer current,Integer skip,Class<T> t);
	public <T> List<T> getObjectList(String jsonquery, Integer currentpage,Integer limit,
			Boolean orderdirection, Class<T> t,String... orderpfield);
	public <T> List<T> getAll(Class<T> t);
}
